#pragma once

#include "../ScriptHook/Scripting.h"

namespace Scripting
{
	static void SetTextFont(u32 p0) { NativeInvoke::Invoke<ScriptVoid>("SET_TEXT_FONT", p0); }
	static f32 GetStringWidthWithString(ch *gxt, ch* text) { return NativeInvoke::Invoke<f32>("GET_STRING_WIDTH_WITH_STRING", gxt,text); }
	static void SetCarCanBeDamaged(Vehicle p0, b8 p1) { NativeInvoke::Invoke<ScriptVoid>("SET_CAR_CAN_BE_DAMAGED", p0, p1); }
	static void SetCarCoordinates(Vehicle p0, f32 p1, f32 p2, f32 p3) { NativeInvoke::Invoke<ScriptVoid>("SET_CAR_COORDINATES", p0, p1, p2, p3); }
	static void SetCarHeading(Car p0, f32 p1) { NativeInvoke::Invoke<ScriptVoid>("SET_CAR_HEADING", p0, p1); }
	static b8 SetCarOnGroundProperly(Car p0) { return NativeInvoke::Invoke<b8>("SET_CAR_ON_GROUND_PROPERLY", p0); }
	static void SetVehicleQuaternion(Car p0, f32 p1, f32 p2, f32 p3, f32 p4) { NativeInvoke::Invoke<ScriptVoid>("SET_VEHICLE_QUATERNION", p0, p1, p2, p3, p4); }
		static void SetObjectRotation(Object p0, f32 p1, f32 p2, f32 p3) { NativeInvoke::Invoke<ScriptVoid>("SET_OBJECT_ROTATION", p0, p1, p2, p3); }
	static void AttachCarToObject(Car p0, Object p1, b8 p2, f32 p3, f32 p4, f32 p5, f32 p6, f32 p7, f32 p8) { NativeInvoke::Invoke<ScriptVoid>("ATTACH_CAR_TO_OBJECT", p0, p1, p2, p3, p4, p5, p6, p7, p8); }
	static void SetObjectCoordinates(Object p0, f32 p1, f32 p2, f32 p3) { NativeInvoke::Invoke<ScriptVoid>("SET_OBJECT_COORDINATES", p0, p1, p2, p3); }
	static void SetObjectHeading(Object p0, f32 p1) { NativeInvoke::Invoke<ScriptVoid>("SET_OBJECT_HEADING", p0, p1); }
	static void AttachPedToObject(Ped p0, Object p1, b8 p2, f32 p3, f32 p4, f32 p5, f32 p6, f32 p7, b8 p8, b8 p9) { NativeInvoke::Invoke<ScriptVoid>("ATTACH_PED_TO_OBJECT", p0, p1, p2, p3, p4, p5, p6, p7, p8, p9); }
}
